def fab(max):
    n, a, b = 0, 0, 1
    
    while n < max:
        yield b
        a, b = b, a + b
        n += 1

def print_square(max):
    for i in range(max):
        yield i * i
    
for n in fab(5):
    print(n)

for k in print_square(5):
    print(k)
